// 重写数组的方法

// 第一步：获取原来的数组方法
let oldArrayProtoMethods = Array.prototype

// 第二步：继承  创建一个新数组继承这些属性
export let ArrayMethods = Object.create(oldArrayProtoMethods)

// 第三步：劫持这些CRUD的方法，如果没有，会走原来的
let methods = ["push", "pop", "unshift", "shift", "splice"]

// 第四步：用自己的方法
methods.forEach(item => {
    ArrayMethods[item] = function (...args) {
        // console.log("劫持数组111")
        return oldArrayProtoMethods[item].apply(this, args)
    }
})
